home *** CD-ROM | disk | FTP | other *** search
- {
- Lists.i for PCQ Pascal
-
- This file defines Exec system lists, which are used to link
- various things. Exec provides several routines to handle list
- processing (defined at the bottom of this file), so you can
- use these routines to save yourself the trouble of writing a list
- package.
- }
-
- {$I "Include:Exec/Nodes.i"}
-
- Type
-
- { normal, full featured list }
-
- List = record
- lh_Head : NodePtr;
- lh_Tail : NodePtr;
- lh_TailPred : NodePtr;
- lh_Type : Byte;
- l_pad : Byte;
- end;
- ListPtr = ^List;
-
- { minimum list -- no type checking possible }
-
- MinList = record
- mlh_Head : MinNodePtr;
- mlh_Tail : MinNodePtr;
- mlh_TailPred : MinNodePtr;
- end;
- MinListPtr = ^MinList;
-
-
- Procedure AddHead(list : ListPtr; node : NodePtr);
- External;
-
- Procedure AddTail(list : ListPtr; node : NodePtr);
- External;
-
- Procedure Enqueue(list : ListPtr; node : NodePtr);
- External;
-
- Function FindName(start : ListPtr; name : String) : NodePtr;
- External;
-
- Procedure Insert(list : ListPtr; node, listNode : NodePtr);
- External;
-
- Procedure NewList(list : ListPtr);
- External;
-
- Function RemHead(list : ListPtr) : NodePtr;
- External;
-
- Procedure Remove(node : NodePtr);
- External;
-
- Function RemTail(list : ListPtr) : NodePtr;
- External;
-
-